The use of encryption is well known. Various encryption algorithms are well known which the capacity to encrypt data, which encrypted data can then be safely transmitted to a secure destination location, whereupon it can then be decrypted to obtain back the original data.
Encryption of digital data is also well known, and what is known as a “key,” which is a secret sequence of bits, is used to encrypt the digital data. That same key, or version of it, can then be transferred to the secure destination and used to decrypt the data that has been transmitted after it has been encrypted using a corresponding decryption key.
Separate and distinct from encryption is the streaming transmission and reproduction of a sequence of related digital data, also called an event herein. Any sequence of digital data, whether that data is part of a lossless or lossy transmission, can be considered to make up an event. Examples of the results of typical events are movies having sequences of visual images with or without continuously changing audible sounds and songs with continuously changing audible songs. Continuous events, such as a stream of text data that changes frequently, stock market quotes for example, are also possible. Standards such as MPEG have been developed so that devices which receive the streaming transmissions, typically an end-users computer, can recognized the type of sequence of digital data and use it to reproduce the desired images, sounds, effects or the like.
With respect to the streaming transmission of the digital data content that makes up any such type of event, security challenges have become ever more apparent. In particular, due to the ease with which digital data can be copied and reproduced to thousands if not millions of persons, systems which provide security on the content have been introduced in order to prevent replication. Further, since the stream of data will exist for potentially a lengthy period of time, if an unauthorized user can study an initial part of the entire stream and determine the security measures taken to prevent unauthorized access, that unauthorized user can potentially gain unauthorized access to the remainder of the event, which can be damaging. For instance, if during the first five minutes of a movie, during which time commercials are being transmitted, determine the security measures taken to prevent unauthorized access, that unauthorized user can potentially gain unauthorized access to the entire movie that will be shown thereafter.
Another challenge has been the bandwidth required in order to both transmit digital data and then reproduce from the transmitted digital data sufficient content in order to make the event experience realistic and appealing. Accordingly, in contrast to the transmission of a single document or single image, which can then be reproduced at any speed and then viewed, the temporal aspect inherent in the event experience must be considered. As a result of this aspect, compression techniques are typically used in order to effectively stream more content on a per-transmission unit basis.
Taking into consideration all of these issues result in complex schemes to ensure both the quality of the reproduced event and security of the transmission.
In the context of digital cellular phones, for instance, a sequence of obtained digital data, which represents the spoken voice for that period corresponding to the sequence, is typically encoded with a rotating pseudorandom number. As time progresses, the pseudorandom number changes, with there being a correlation to the rotation of the pseudorandom number and the time that has elapsed. If this scheme is looked at from the perspective of encryption, that pseudorandom number is a single key, since once that key is determined, transmissions which occur thereafter can potentially be determined. The fact that it will take time to determine where in the rotational sequence the pseudorandom number is does not change that characteristic of such a system.
Further, conventionally, when audio and video are streamed from a server to an end-user computer there may be password protection and other registration procedures to verify that the entity receiving and reproducing the transmission is authorized. There may also be codes embedded in the digital data which only allow that digital data to be reproduced on a certain type of player, or even more specifically on a specific player of a certain type. While this can prevent unauthorized access to some extent, the digital data that makes up the event is, in most instances, non-encrypted. And if encryption exists, that encryption is provided based upon a key that resides at the end-user computer. Accordingly, such as system can be tampered with, particularly to the sophisticated-hacker.
Also, encryption of streamed digital data is also performed in order to secure it. Thus, when being reproduced, that digital data will need to be decrypted prior to rendering of the digital data occurring. And if compression techniques are used, then decompression must also take place, potentially along with encryption, before the digital data is available for rendering. In conventional reproduction processes, the decryption, decompression and rendering are performed in a sequential manner on each packet. In the context of a digital video reproduction, each packet is typically one frame that is received. The entire process on that packet must be complete before a subsequent packet can be operated upon.
Accordingly, if the reproduction process becomes overly complex, the process of operating upon a particular packet of digital data may not been completed prior to a subsequent packet being received. In such case, that subsequent packet would be dropped, resulting in some type of undesired “blip” in the perceived event.
It would be, therefore, desirable to implement methods and systems that could more readily reproduce streamed transmissions of encrypted and compressed digital data, as well as further secure the transmission of such digital data.